
package com.nextel.project.cliente.mvc;

import com.nextel.project.Configuracion;
import com.nextel.project.canje.ControlCanje;
import com.nextel.project.devolucion.ControlDevolucion;
import com.nextel.project.cliente.ControlCliente;
import com.nextel.project.cobranza.ControlCobranza;
import com.nextel.project.pedido.ControlPedido;
import com.nextel.project.pedido.bean.PedidoBean;
import com.nextel.project.usuario.ControlUsuario;
import com.nextel.ui.OLabel;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OUILook;
//import com.nextel.ui.custom.WordWrap;
import java.util.Calendar;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;
import pe.com.nextel.util.math.MathUtil;

/**
 *
 *
 */
public class MVCClienteDetalle extends MVCAction {
    
    private OSoftKey cmdBuscar,cmdPedido,cmdNoPedido, cmdCobrar; //cmdModificar
    private OSoftKey cmdDevolucion, cmdCanje, cmdSalir;
    private boolean flagForm; // para que no presione dos veces al momento de buscar

    private String Deuda;
    private String resultado;

  
    protected void createView()  {
        
        String valor = "1";
        
        cmdPedido = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PEDIDO));//"Pedido"
        cmdCobrar = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_COBRAR) );//"Cobrar"
        cmdNoPedido = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_NO_PEDIDO2) );//"No pedido"
        cmdDevolucion = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_DEVOLUCION));//"Devoluci\u00F3n"
        cmdCanje =  new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_CANJE));//Canje
        cmdBuscar = new OSoftKey(Configuracion.BOTON_ATRAS);
        cmdSalir =  new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_MENU_PRIN));//"Menu Prin"
        
        
        formulario.setTitle(" "+IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_CLIENTE)+" ", OUILook.PLAIN_SMALL_TITLE);// Cliente
        
        if(valor.equals(ControlUsuario.getInstance().currentUsuario.pedido)){
            formulario.addSoftKey(cmdPedido);
            formulario.addSoftKey(cmdNoPedido);
        }
        
        if(valor.equals(ControlUsuario.getInstance().currentUsuario.cobranza)){
            formulario.addSoftKey(cmdCobrar);
        }
        
        if(valor.equals(ControlUsuario.getInstance().currentUsuario.devolucion)){
            formulario.addSoftKey(cmdDevolucion);
        }
        
        if(valor.equals(ControlUsuario.getInstance().currentUsuario.canje)){
            formulario.addSoftKey(cmdCanje);
        }
        
        formulario.addSoftKey(cmdBuscar);
        formulario.addSoftKey(cmdSalir);
        
    }
    
    protected void createItems() {
        ControlPedido.getInstance().currentKPI.tiempoInicioTemporal = Calendar.getInstance().getTime().getTime();

        StringBuffer stf = new StringBuffer();
        Deuda = MathUtil.setScale(ControlCliente.getInstance().currentCliente.getDeuda(), Configuracion.DECIMAL_PRESENTACION);

        String resultado = Configuracion.CambiarSimbolo(Deuda);

        stf.append(ControlCliente.getInstance().currentCliente.getCodigo()).append('\n');
        stf.append(ControlCliente.getInstance().obtenerNombreCliente_Detalle()).append(ControlCliente.getInstance().currentCliente.getNombre()).append('\n');
        stf.append(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_DIRECCION)+": ").append(ControlCliente.getInstance().currentCliente.getDireccion()).append('\n');//Direcci\u00F3n
        stf.append(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_GIRO)+": ").append(ControlCliente.getInstance().currentCliente.getCli_giro()).append('\n');//Giro
        stf.append(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_COD_TCLIE)+": ").append(ControlCliente.getInstance().currentCliente.getTcli_cod()).append('\n');//Cod.TClie
        stf.append(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_DEUDA)+": "+ Configuracion.Moneda +" ").append(resultado).append('\n');//Deuda
        stf.append(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_ESTADO)+": ").append(ControlCliente.getInstance().currentCliente.getEstado()).append('\n');//Estado
        
        OLabel  olabel = new OLabel(stf.toString(), OUILook.PLAIN_SMALL_TEXT, formulario.getWidth());
        formulario.add(olabel);
        
        flagForm = true;
        
        if("1".equals(ControlUsuario.getInstance().currentUsuario.cobranza)){
            ocultarBotones();
        }
    }
    
    public void performAction(OSoftKey c) {
        
        if (flagForm) {
            flagForm = false;
            if (c == cmdPedido) {
                destroy();
                ControlPedido.getInstance().iniciarPedido(PedidoBean.TIPO_PEDIDO);
            } else if (c == cmdBuscar) {
                destroy();
                ControlCliente.getInstance().setCurrent(ControlCliente.getInstance().mvcClienteBusqueda);
            }else if (c == cmdCobrar) {
                destroy();
                ControlCobranza.getInstance().setCurrent(ControlCobranza.getInstance().mvcListaCobranza);
            } else if (c == cmdNoPedido) {
                destroy();
                ControlPedido.getInstance().iniciarPedido(PedidoBean.TIPO_NO_PEDIDO);
            } else if (c == cmdDevolucion) {
                destroy();
                ControlDevolucion.getInstance().iniciarDevolucion();
            } else if (c == cmdCanje) {
                destroy();
                ControlCanje.getInstance().iniciarCanje();
            }else if(c==cmdSalir){
                destroy();
                ControlCliente.getInstance().setCurrent(ControlUsuario.getInstance().mvcMenu.showScreen());
            }
            flagForm = true;
        }
    }
    
    /**
     * Verifica si tiene pedidos anteriores
     */
    private void ocultarBotones() {
        
        formulario.removeSoftKey(cmdCobrar);
        if(MathUtil.esMayor(ControlCliente.getInstance().currentCliente.getDeuda(),"0")) {
            if(ControlCliente.getInstance().currentCliente.getPosicionID() == 0){
                formulario.removeSoftKey(cmdCobrar);
            }else{
                formulario.addSoftKey(cmdCobrar);
            }
        }
    }
}
